package com.linkage.lcims.base.po.customer;

import java.io.Serializable;
import java.util.Date;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;


/** 
 *        @hibernate.class
 *         table="M_CUSTOMER_HIS"
 *     
*/
@SuppressWarnings("serial")
public class MCustomerHis implements Serializable {

    /** identifier field */
    private Long serno;

    /** persistent field */
    private Date itime;

    /** persistent field */
    private Integer otype;

    /** persistent field */
    private Integer hash;

    /** persistent field */
    private String customername;

    /** persistent field */
    private Integer customerid;

    /** nullable persistent field */
    private Integer customertype;

    /** persistent field */
    private String accounttype;

    /** persistent field */
    private String password;

    /** persistent field */
    private Integer passwordtype;

    /** persistent field */
    private String areano;

    /** nullable persistent field */
    private String newareano;

    /** nullable persistent field */
    private String realname;

    /** nullable persistent field */
    private Date birthday;

    /** nullable persistent field */
    private String corpname;

    /** nullable persistent field */
    private Integer certtype;

    /** nullable persistent field */
    private String certificate;

    /** nullable persistent field */
    private Integer sex;

    /** nullable persistent field */
    private Integer occtype;

    /** nullable persistent field */
    private Integer educode;

    /** nullable persistent field */
    private String address;

    /** nullable persistent field */
    private String contactman;

    /** nullable persistent field */
    private String contactphone;

    /** nullable persistent field */
    private String email;

    /** nullable persistent field */
    private Integer status;

    /** persistent field */
    private Date opendate;

    /** nullable persistent field */
    private Date pausedate;

    /** persistent field */
    private Date closedate;

    /** nullable persistent field */
    private Date moddate;

    /** nullable persistent field */
    private String modoperator;

    /** persistent field */
    private String openoperator;

    /** nullable persistent field */
    private String servicelist;

    /** nullable persistent field */
    private String accname;

    /** nullable persistent field */
    private String description;

    /** nullable persistent field */
    private String reserved1;

    /** nullable persistent field */
    private String reserved2;

    /** full constructor */
    public MCustomerHis(Long serno, Date itime, Integer otype, Integer hash, String customername, Integer customerid, Integer customertype, String accounttype, String password, Integer passwordtype, String areano, String newareano, String realname, Date birthday, String corpname, Integer certtype, String certificate, Integer sex, Integer occtype, Integer educode, String address, String contactman, String contactphone, String email, Integer status, Date opendate, Date pausedate, Date closedate, Date moddate, String modoperator, String openoperator, String servicelist, String accname, String description, String reserved1, String reserved2) {
        this.serno = serno;
        this.itime = itime;
        this.otype = otype;
        this.hash = hash;
        this.customername = customername;
        this.customerid = customerid;
        this.customertype = customertype;
        this.accounttype = accounttype;
        this.password = password;
        this.passwordtype = passwordtype;
        this.areano = areano;
        this.newareano = newareano;
        this.realname = realname;
        this.birthday = birthday;
        this.corpname = corpname;
        this.certtype = certtype;
        this.certificate = certificate;
        this.sex = sex;
        this.occtype = occtype;
        this.educode = educode;
        this.address = address;
        this.contactman = contactman;
        this.contactphone = contactphone;
        this.email = email;
        this.status = status;
        this.opendate = opendate;
        this.pausedate = pausedate;
        this.closedate = closedate;
        this.moddate = moddate;
        this.modoperator = modoperator;
        this.openoperator = openoperator;
        this.servicelist = servicelist;
        this.accname = accname;
        this.description = description;
        this.reserved1 = reserved1;
        this.reserved2 = reserved2;
    }

    /** default constructor */
    public MCustomerHis() {
    }

    /** minimal constructor */
    public MCustomerHis(Long serno, Date itime, Integer otype, Integer hash, String customername, Integer customerid, String accounttype, String password, Integer passwordtype, String areano, Date opendate, Date closedate, String openoperator) {
        this.serno = serno;
        this.itime = itime;
        this.otype = otype;
        this.hash = hash;
        this.customername = customername;
        this.customerid = customerid;
        this.accounttype = accounttype;
        this.password = password;
        this.passwordtype = passwordtype;
        this.areano = areano;
        this.opendate = opendate;
        this.closedate = closedate;
        this.openoperator = openoperator;
    }

    /** 
     *            @hibernate.id
     *             generator-class="assigned"
     *             type="java.lang.Long"
     *             column="serno"
     *         
     */
    public Long getSerno() {
        return this.serno;
    }

    public void setSerno(Long serno) {
        this.serno = serno;
    }

    /** 
     *            @hibernate.property
     *             column="itime"
     *             length="23"
     *             not-null="true"
     *         
     */
    public Date getItime() {
        return this.itime;
    }

    public void setItime(Date itime) {
        this.itime = itime;
    }

    /** 
     *            @hibernate.property
     *             column="otype"
     *             length="10"
     *             not-null="true"
     *         
     */
    public Integer getOtype() {
        return this.otype;
    }

    public void setOtype(Integer otype) {
        this.otype = otype;
    }

    /** 
     *            @hibernate.property
     *             column="hash"
     *             length="10"
     *             not-null="true"
     *         
     */
    public Integer getHash() {
        return this.hash;
    }

    public void setHash(Integer hash) {
        this.hash = hash;
    }

    /** 
     *            @hibernate.property
     *             column="customername"
     *             length="40"
     *             not-null="true"
     *         
     */
    public String getCustomername() {
        return this.customername;
    }

    public void setCustomername(String customername) {
        this.customername = customername;
    }

    /** 
     *            @hibernate.property
     *             column="customerid"
     *             length="10"
     *             not-null="true"
     *         
     */
    public Integer getCustomerid() {
        return this.customerid;
    }

    public void setCustomerid(Integer customerid) {
        this.customerid = customerid;
    }

    /** 
     *            @hibernate.property
     *             column="customertype"
     *             length="10"
     *         
     */
    public Integer getCustomertype() {
        return this.customertype;
    }

    public void setCustomertype(Integer customertype) {
        this.customertype = customertype;
    }

    /** 
     *            @hibernate.property
     *             column="accounttype"
     *             length="8"
     *             not-null="true"
     *         
     */
    public String getAccounttype() {
        return this.accounttype;
    }

    public void setAccounttype(String accounttype) {
        this.accounttype = accounttype;
    }

    /** 
     *            @hibernate.property
     *             column="password"
     *             length="32"
     *             not-null="true"
     *         
     */
    public String getPassword() {
        return this.password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    /** 
     *            @hibernate.property
     *             column="passwordtype"
     *             length="10"
     *             not-null="true"
     *         
     */
    public Integer getPasswordtype() {
        return this.passwordtype;
    }

    public void setPasswordtype(Integer passwordtype) {
        this.passwordtype = passwordtype;
    }

    /** 
     *            @hibernate.property
     *             column="areano"
     *             length="20"
     *             not-null="true"
     *         
     */
    public String getAreano() {
        return this.areano;
    }

    public void setAreano(String areano) {
        this.areano = areano;
    }

    /** 
     *            @hibernate.property
     *             column="newareano"
     *             length="20"
     *         
     */
    public String getNewareano() {
        return this.newareano;
    }

    public void setNewareano(String newareano) {
        this.newareano = newareano;
    }

    /** 
     *            @hibernate.property
     *             column="realname"
     *             length="20"
     *         
     */
    public String getRealname() {
        return this.realname;
    }

    public void setRealname(String realname) {
        this.realname = realname;
    }

    /** 
     *            @hibernate.property
     *             column="birthday"
     *             length="23"
     *         
     */
    public Date getBirthday() {
        return this.birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    /** 
     *            @hibernate.property
     *             column="corpname"
     *             length="100"
     *         
     */
    public String getCorpname() {
        return this.corpname;
    }

    public void setCorpname(String corpname) {
        this.corpname = corpname;
    }

    /** 
     *            @hibernate.property
     *             column="certtype"
     *             length="10"
     *         
     */
    public Integer getCerttype() {
        return this.certtype;
    }

    public void setCerttype(Integer certtype) {
        this.certtype = certtype;
    }

    /** 
     *            @hibernate.property
     *             column="certificate"
     *             length="30"
     *         
     */
    public String getCertificate() {
        return this.certificate;
    }

    public void setCertificate(String certificate) {
        this.certificate = certificate;
    }

    /** 
     *            @hibernate.property
     *             column="sex"
     *             length="5"
     *         
     */
    public Integer getSex() {
        return this.sex;
    }

    public void setSex(Integer sex) {
        this.sex = sex;
    }

    /** 
     *            @hibernate.property
     *             column="occtype"
     *             length="10"
     *         
     */
    public Integer getOcctype() {
        return this.occtype;
    }

    public void setOcctype(Integer occtype) {
        this.occtype = occtype;
    }

    /** 
     *            @hibernate.property
     *             column="educode"
     *             length="10"
     *         
     */
    public Integer getEducode() {
        return this.educode;
    }

    public void setEducode(Integer educode) {
        this.educode = educode;
    }

    /** 
     *            @hibernate.property
     *             column="address"
     *             length="64"
     *         
     */
    public String getAddress() {
        return this.address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    /** 
     *            @hibernate.property
     *             column="contactman"
     *             length="15"
     *         
     */
    public String getContactman() {
        return this.contactman;
    }

    public void setContactman(String contactman) {
        this.contactman = contactman;
    }

    /** 
     *            @hibernate.property
     *             column="contactphone"
     *             length="20"
     *         
     */
    public String getContactphone() {
        return this.contactphone;
    }

    public void setContactphone(String contactphone) {
        this.contactphone = contactphone;
    }

    /** 
     *            @hibernate.property
     *             column="email"
     *             length="40"
     *         
     */
    public String getEmail() {
        return this.email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    /** 
     *            @hibernate.property
     *             column="status"
     *             length="10"
     *         
     */
    public Integer getStatus() {
        return this.status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    /** 
     *            @hibernate.property
     *             column="opendate"
     *             length="23"
     *             not-null="true"
     *         
     */
    public Date getOpendate() {
        return this.opendate;
    }

    public void setOpendate(Date opendate) {
        this.opendate = opendate;
    }

    /** 
     *            @hibernate.property
     *             column="pausedate"
     *             length="23"
     *         
     */
    public Date getPausedate() {
        return this.pausedate;
    }

    public void setPausedate(Date pausedate) {
        this.pausedate = pausedate;
    }

    /** 
     *            @hibernate.property
     *             column="closedate"
     *             length="23"
     *             not-null="true"
     *         
     */
    public Date getClosedate() {
        return this.closedate;
    }

    public void setClosedate(Date closedate) {
        this.closedate = closedate;
    }

    /** 
     *            @hibernate.property
     *             column="moddate"
     *             length="23"
     *         
     */
    public Date getModdate() {
        return this.moddate;
    }

    public void setModdate(Date moddate) {
        this.moddate = moddate;
    }

    /** 
     *            @hibernate.property
     *             column="modoperator"
     *             length="15"
     *         
     */
    public String getModoperator() {
        return this.modoperator;
    }

    public void setModoperator(String modoperator) {
        this.modoperator = modoperator;
    }

    /** 
     *            @hibernate.property
     *             column="openoperator"
     *             length="15"
     *             not-null="true"
     *         
     */
    public String getOpenoperator() {
        return this.openoperator;
    }

    public void setOpenoperator(String openoperator) {
        this.openoperator = openoperator;
    }

    /** 
     *            @hibernate.property
     *             column="servicelist"
     *             length="50"
     *         
     */
    public String getServicelist() {
        return this.servicelist;
    }

    public void setServicelist(String servicelist) {
        this.servicelist = servicelist;
    }

    /** 
     *            @hibernate.property
     *             column="accname"
     *             length="24"
     *         
     */
    public String getAccname() {
        return this.accname;
    }

    public void setAccname(String accname) {
        this.accname = accname;
    }

    /** 
     *            @hibernate.property
     *             column="description"
     *             length="128"
     *         
     */
    public String getDescription() {
        return this.description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    /** 
     *            @hibernate.property
     *             column="reserved1"
     *             length="40"
     *         
     */
    public String getReserved1() {
        return this.reserved1;
    }

    public void setReserved1(String reserved1) {
        this.reserved1 = reserved1;
    }

    /** 
     *            @hibernate.property
     *             column="reserved2"
     *             length="40"
     *         
     */
    public String getReserved2() {
        return this.reserved2;
    }

    public void setReserved2(String reserved2) {
        this.reserved2 = reserved2;
    }

    public String toString() {
        return new ToStringBuilder(this)
            .append("serno", getSerno())
            .toString();
    }

    public boolean equals(Object other) {
        if ( (this == other ) ) return true;
        if ( !(other instanceof MCustomerHis) ) return false;
        MCustomerHis castOther = (MCustomerHis) other;
        return new EqualsBuilder()
            .append(this.getSerno(), castOther.getSerno())
            .isEquals();
    }

    public int hashCode() {
        return new HashCodeBuilder()
            .append(getSerno())
            .toHashCode();
    }

}
